//默认绑定
// function foo(){
//   // "use strict"
//   console.log(this.a)
// }
// var a = 2
// foo()



// 隐式绑定
// function foo(){
//   console.log(this.a)
// }
// var obj = {
//   a: 2,
//   foo: foo
// }
// obj.foo()



// function foo(){
//   console.log(this.a)
// }
// var obj2 = {
//   a: 4,
//   foo: foo
// }
// var obj1 = {
//   a: 2,
//   obj2: obj2
// }
// obj1.foo()



// function foo(){
//   console.log(this.a)
// }
// var obj = {
//   a: 2,
//   foo: foo
// }

// var bar = obj.foo

// var a = 'glob'

// bar()   //glob







// 显示绑定
function foo(){
  console.log(this.a)
}
var obj = {
  a: 2
}
foo.call(obj)